﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using BlueRoseGames.Controls.Text;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238

namespace PathTextBlockSample
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class BlankPage : Page
    {
        int count = 0;
        PolarTransform polarTransform;
        SineTransform sineTransform;

        public BlankPage()
        {
            this.InitializeComponent();
            sineTransform = (tb.TextTransform as BlueRoseGames.Controls.Text.TransformGroup).Children[0] as SineTransform;
            polarTransform = (tb.TextTransform as BlueRoseGames.Controls.Text.TransformGroup).Children[1] as PolarTransform;

            CompositionTarget.Rendering += CompositionTarget_Rendering;
        }

        void CompositionTarget_Rendering(object sender, object e)
        {
            count += 100;
            if (count % 200 == 0)
            {
                tb.Text = "Some dynamic text " + count.ToString();
            }
            polarTransform.Angle += .5;
            sineTransform.StartAngle += 3;

        }

        /// <summary>
        /// Invoked when this page is about to be displayed in a Frame.
        /// </summary>
        /// <param name="e">Event data that describes how this page was reached.  The Parameter
        /// property is typically used to configure the page.</param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
        }
    }
}
